﻿using System;
using Microsoft.Xna.Framework;

namespace Terraria.ModLoader
{
	// Token: 0x0200018C RID: 396
	public class EquipTexture
	{
		// Token: 0x1700011F RID: 287
		// (get) Token: 0x06000F8B RID: 3979 RVA: 0x0000E81A File Offset: 0x0000CA1A
		// (set) Token: 0x06000F8C RID: 3980 RVA: 0x0000E822 File Offset: 0x0000CA22
		public string Texture { get; internal set; }

		// Token: 0x17000120 RID: 288
		// (get) Token: 0x06000F8D RID: 3981 RVA: 0x0000E82B File Offset: 0x0000CA2B
		// (set) Token: 0x06000F8E RID: 3982 RVA: 0x0000E833 File Offset: 0x0000CA33
		public Mod mod { get; internal set; }

		// Token: 0x17000121 RID: 289
		// (get) Token: 0x06000F8F RID: 3983 RVA: 0x0000E83C File Offset: 0x0000CA3C
		// (set) Token: 0x06000F90 RID: 3984 RVA: 0x0000E844 File Offset: 0x0000CA44
		public string Name { get; internal set; }

		// Token: 0x17000122 RID: 290
		// (get) Token: 0x06000F91 RID: 3985 RVA: 0x0000E84D File Offset: 0x0000CA4D
		// (set) Token: 0x06000F92 RID: 3986 RVA: 0x0000E855 File Offset: 0x0000CA55
		public EquipType Type { get; internal set; }

		// Token: 0x17000123 RID: 291
		// (get) Token: 0x06000F93 RID: 3987 RVA: 0x0000E85E File Offset: 0x0000CA5E
		// (set) Token: 0x06000F94 RID: 3988 RVA: 0x0000E866 File Offset: 0x0000CA66
		public int Slot { get; internal set; }

		// Token: 0x17000124 RID: 292
		// (get) Token: 0x06000F95 RID: 3989 RVA: 0x0000E86F File Offset: 0x0000CA6F
		// (set) Token: 0x06000F96 RID: 3990 RVA: 0x0000E877 File Offset: 0x0000CA77
		public ModItem item { get; internal set; }

		// Token: 0x06000F97 RID: 3991 RVA: 0x0000E880 File Offset: 0x0000CA80
		public virtual void UpdateVanity(Player player, EquipType type)
		{
			if (this.item != null)
			{
				this.item.UpdateVanity(player, type);
			}
		}

		// Token: 0x06000F98 RID: 3992 RVA: 0x0000E897 File Offset: 0x0000CA97
		public virtual bool IsVanitySet(int head, int body, int legs)
		{
			return this.item != null && this.item.IsVanitySet(head, body, legs);
		}

		// Token: 0x06000F99 RID: 3993 RVA: 0x0000E8B1 File Offset: 0x0000CAB1
		public virtual void PreUpdateVanitySet(Player player)
		{
			if (this.item != null)
			{
				this.item.PreUpdateVanitySet(player);
			}
		}

		// Token: 0x06000F9A RID: 3994 RVA: 0x0000E8C7 File Offset: 0x0000CAC7
		public virtual void UpdateVanitySet(Player player)
		{
			if (this.item != null)
			{
				this.item.UpdateVanitySet(player);
			}
		}

		// Token: 0x06000F9B RID: 3995 RVA: 0x0000E8DD File Offset: 0x0000CADD
		public virtual void ArmorSetShadows(Player player)
		{
			if (this.item != null)
			{
				this.item.ArmorSetShadows(player);
			}
		}

		// Token: 0x06000F9C RID: 3996 RVA: 0x0000E8F3 File Offset: 0x0000CAF3
		public virtual void SetMatch(bool male, ref int equipSlot, ref bool robes)
		{
			if (this.item != null)
			{
				this.item.SetMatch(male, ref equipSlot, ref robes);
			}
		}

		// Token: 0x06000F9D RID: 3997 RVA: 0x0000E90B File Offset: 0x0000CB0B
		public virtual void DrawHands(ref bool drawHands, ref bool drawArms)
		{
			if (this.item != null)
			{
				this.item.DrawHands(ref drawHands, ref drawArms);
			}
		}

		// Token: 0x06000F9E RID: 3998 RVA: 0x0000E922 File Offset: 0x0000CB22
		public virtual void DrawHair(ref bool drawHair, ref bool drawAltHair)
		{
			if (this.item != null)
			{
				this.item.DrawHair(ref drawHair, ref drawAltHair);
			}
		}

		// Token: 0x06000F9F RID: 3999 RVA: 0x0000E939 File Offset: 0x0000CB39
		public virtual bool DrawHead()
		{
			return this.item == null || this.item.DrawHead();
		}

		// Token: 0x06000FA0 RID: 4000 RVA: 0x0000E950 File Offset: 0x0000CB50
		public virtual bool DrawBody()
		{
			return this.item == null || this.item.DrawBody();
		}

		// Token: 0x06000FA1 RID: 4001 RVA: 0x0000E967 File Offset: 0x0000CB67
		public virtual bool DrawLegs()
		{
			return this.item == null || this.item.DrawLegs();
		}

		// Token: 0x06000FA2 RID: 4002 RVA: 0x0000E97E File Offset: 0x0000CB7E
		public virtual void DrawArmorColor(Player drawPlayer, float shadow, ref Color color, ref int glowMask, ref Color glowMaskColor)
		{
			if (this.item != null)
			{
				this.item.DrawArmorColor(drawPlayer, shadow, ref color, ref glowMask, ref glowMaskColor);
			}
		}

		// Token: 0x06000FA3 RID: 4003 RVA: 0x0000E99A File Offset: 0x0000CB9A
		public virtual void ArmorArmGlowMask(Player drawPlayer, float shadow, ref int glowMask, ref Color color)
		{
			if (this.item != null)
			{
				this.item.ArmorArmGlowMask(drawPlayer, shadow, ref glowMask, ref color);
			}
		}

		// Token: 0x06000FA4 RID: 4004 RVA: 0x0000E9B4 File Offset: 0x0000CBB4
		public virtual void VerticalWingSpeeds(Player player, ref float ascentWhenFalling, ref float ascentWhenRising, ref float maxCanAscendMultiplier, ref float maxAscentMultiplier, ref float constantAscend)
		{
			if (this.item != null)
			{
				this.item.VerticalWingSpeeds(player, ref ascentWhenFalling, ref ascentWhenRising, ref maxCanAscendMultiplier, ref maxAscentMultiplier, ref constantAscend);
			}
		}

		// Token: 0x06000FA5 RID: 4005 RVA: 0x0000E9D2 File Offset: 0x0000CBD2
		public virtual void HorizontalWingSpeeds(Player player, ref float speed, ref float acceleration)
		{
			if (this.item != null)
			{
				this.item.HorizontalWingSpeeds(player, ref speed, ref acceleration);
			}
		}

		// Token: 0x06000FA6 RID: 4006 RVA: 0x0000E9EA File Offset: 0x0000CBEA
		public virtual bool WingUpdate(Player player, bool inUse)
		{
			ModItem item = this.item;
			return item != null && item.WingUpdate(player, inUse);
		}
	}
}
